<template>
    <div class="mui-numbox" data-numbox-min='1'> <!--:data-numbox-max='max'-->
        <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
        <input type="number" id="test" class="mui-input-numbox" value="1"
        @change="countChanged" ref="numbox">
        <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>
    <!-- 分析：子组件什么时候把数据传递给父组件 -->
    <!--  -->
</template>

<script>
import mui from '../../lib/mui/js/mui.min.js'
export default {
    mounted(){
        // 初始化数字选择框组件
        mui('.mui-numbox').numbox()
        // 不清楚什么时候拿到max值，因为获取max是异步操作
        // 使用watch属性监听父组件传过来的max值
        console.log(this.max)
    },
    methods: {
        countChanged(){
            // 每当文本框的数据被修改的时候，立即把最新的数据，通过事件调用，传递给父组件
            // console.log(this.$refs.numbox.value)
            if(this.$refs.numbox.value > this.max) {
                this.$refs.numbox.value = this.max
            }
            this.$emit('getCount', parseInt(this.$refs.numbox.value))
        }
    },
    props: ["max"],
    watch: {
        // 属性监听
        "max": function(newVal, oldVal){
            mui(".mui-numbox").numbox().setOption('max', newVal)
        }
    }
}
</script>

<style lang="scss" scoped>
    
</style>